import random
from multiprocessing import Pool
import os,time
import threading

from multiprocessing import Process

def test(n):
    i = 0
    count = 0
    # n 为传入的总点数量
    while i < n:
        # 随机产生x,y坐标
        x = random.random()
        y = random.random()
        # 如果x平方 + y平方 < 1，说明在圆内
        if (pow(x, 2) + pow(y, 2)) < 1:
            count += 1
        i += 1
    # π的值为：4 * （落在圆内的点/总的点）
    return 4 * (count / n)

def main():
    print("主程序开始")
    P=Process(target=test,args=(1,))
    P.start()
    print('主程序结束')


class MyThread(threading.Thread):
    def process2(self):
        n = 1000
        i = 0
        count = 0
        # n 为传入的总点数量
        while i < n:
            # 随机产生x,y坐标
            x = random.random()
            y = random.random()
            # 如果x平方 + y平方 < 1，说明在圆内
            if (pow(x, 2) + pow(y, 2)) < 1:
                count += 1
            i += 1
        # π的值为：4 * （落在圆内的点/总的点）
        return 4 * (count / n)

thread = MyThread()
thread.start()



# 共享变量
shared_variable = 0
lock = threading.Lock()
# 线程函数
def thread_func():
    global shared_variable
    n = 1000
    i = 0
    count = 0
    # n 为传入的总点数量
    while i < n:
        # 随机产生x,y坐标
        x = random.random()
        y = random.random()
        # 如果x平方 + y平方 < 1，说明在圆内
        if (pow(x, 2) + pow(y, 2)) < 1:
            count += 1
        i += 1
    # π的值为：4 * （落在圆内的点/总的点）
    return 4 * (count / n)

thread1 = threading.Thread(target=thread_func)
thread2 = threading.Thread(target=thread_func)
thread1.start()
thread2.start()
thread1.join()
thread2.join()





